package o2o.dao.PO.order;

import lombok.Data;
import lombok.experimental.Accessors;

//订单支付信息(流水)
@Data
@Accessors(chain = true)
public class OrderPayInfo {

    private Long id; // 标识
    private String orderNo; // 订单编号
    private Double totalPrice;//订单总金额
    private String buyer;//消费者账号
    private String seller; // 服务者账号
    private Long sellerId; // 服务者ID
    private String postman; // 配送员账号  只是该订单分成的钱 不包括奖励金
    private String secondaryPostman; // 二级骑手账号
    private String business; // 业务员账号
    private String agentMangerUsername; // 业务员账号

    private String cityAdmin; // 城代账号|直系代理
    private String cityAdmin1; // 直系代理账号|相对平台的第一级代理
    private String cityAdmin2; // 二级代理账号|相对平台的第二级代理
    private String cityAdmin3; // 三级代理账号|相对平台的第三级代理
    private String cityAdmin4; // 四级代理账号|相对平台的第四级代理

    private String payType; //支付类型
    private String buyerAppId;//买家支付宝或微信id
    private String buyerLogonId;//支付者账号（微信或支付宝）
    private int isPaid; //是否已支付成功(0未成功,1成功)
    private int isOrderCancel; //订单是否已取消(0未取消,1已取消)
    private int settlementState = 1;       // 结算状态 0 结算中 1 结算完成
    private int statisticState = 1;        // 入账统计状态 此条是否统计 0 未统计 1 统计
    private int useMainCurrencyPay = 1;    // 使用主币支付

    private Double exchangeRate;//汇率

    private String createUser; // 创建者
    private int delFlag; // 是否已删除(0未删除,1已删除)
    private Long createTime; // 创建日期
    private String updateUser; // 最后更新者
    private Long updateTime; //最后更新时间


    private Double shopRate; //商家分成比例
    private Double shopMoney;//商家分成金额
    private Double postmanRate; //配送员分成比例
    private Double secondaryPostmanMoney;//二级骑手分成金额
    private Double postmanMoney;//配送员分成金额(原配送费分成金额 + 奖励金额)
    private Double platformRate; //平台分成比例
    private Double platformMoney;//平台分成金额
    private Double businessRate; //业务员分成比例
    private Double businessMoney;//业务员分成金额
    private Double agentManagerRate; // 区域管理分成比例
    private Double agentManagerMoney;// 区域管理分成金额
    private Double cityAdminRate;//城代分成比例|直系代理
    private Double cityAdminMoney;//城代分成金额|直系代理
    private Double cityAdminAward;//城代优惠金额|直系代理
    private String squareUsername;  // 创业广场id
    private Double squareRate;      // 创业广场分成比例
    private Double squareMoney;     // 创业广场分成的钱
    private Double squareAwardMoney;     // 创业商圈优惠
    private String shareUsername;       // 分享者账号
    private Double sharerShareRate;     // 分享者分成比例
    private Double sharerShareMoney;    // 分享者分成金额

    private Double cityAdminRate1;//相对店铺的第一级代理即直系 | 相对平台的第一级代理
    private Double cityAdminMoney1;//相对店铺的第一级代理即直系 | 相对平台的第一级代理
    private Double cityAdminAward1;//相对店铺的第一级代理即直系 | 相对平台的第一级代理 优惠
    private Double cityAdminRate2;//相对店铺的第二级代理 | 相对平台的第二级代理
    private Double cityAdminMoney2;//相对店铺的第二级代理 | 相对平台的第二级代理
    private Double cityAdminAward2;//相对店铺的第二级代理 | 相对平台的第二级代理 优惠
    private Double cityAdminRate3;//相对店铺的第三级代理 | 相对平台的第三级代理
    private Double cityAdminMoney3;//相对店铺的第三级代理 | 相对平台的第三级代理
    private Double cityAdminAward3;//相对店铺的第三级代理 | 相对平台的第三级代理优 优惠
    private Double cityAdminRate4;//相对店铺的第四级代理 | 相对平台的第四级代理
    private Double cityAdminMoney4;//相对店铺的第四级代理 | 相对平台的第四级代理
    private Double cityAdminAward4;//相对店铺的第四级代理 | 相对平台的第四级代理  优惠

    private Double shopAwardMoney;//活动满减金额-店铺减金额
    private Double platformAwardMoney;//活动满减金额-平台减金额
    private Double plateDrawGoodMoney;// 每个商品抽成多少钱
    private Double totalDrawGoodsMoney;// 此单商品抽成多少钱

    private Long postCompanyId; //  配送公司
    private String postRuleCountExplain;// 配送说明
    private Double postCompanyMoney; //  配送公司的钱 只是该订单分成的钱 不包括奖励金
    private Double plateAllowance; // 平台奖励 --> 骑手金额
    private Double companyAllowance; // 公司奖励金 --> 骑手金额
    private Double companyDeliveryMoney; // 配送公司收取的配送费部分
    private Double companyRateMoney; // 配送公司抽取商家或者创业商圈的佣金


    private String chargeId;//   stripe 的唯一支付id
    private String extra2;//备用字段2
    private String extra3;//备用字段3


    public OrderPayInfo() {
    }

    public OrderPayInfo(String orderNo, Double totalPrice, String buyer, String seller, String payType, int isPaid, String createUser, int delFlag, Long createTime) {
        this.orderNo = orderNo;
        this.totalPrice = totalPrice;
        this.buyer = buyer;
        this.seller = seller;
        this.payType = payType;
        this.isPaid = isPaid;
        this.createUser = createUser;
        this.delFlag = delFlag;
        this.createTime = createTime;
    }


    public OrderPayInfo(String orderNo, Double totalPrice, String buyer, String seller, Long sellerId, String payType, int isPaid, String createUser, int delFlag, Long createTime,
                        Double shopRate, Double shopMoney, Double postmanRate, Double postmanMoney, Double platformRate, Double platformMoney,
                        Double shopAwardMoney, Double platformAwardMoney) {
        this.orderNo = orderNo;
        this.totalPrice = totalPrice;
        this.buyer = buyer;
        this.seller = seller;
        this.sellerId = sellerId;
        this.payType = payType;
        this.isPaid = isPaid;
        this.createUser = createUser;
        this.delFlag = delFlag;
        this.createTime = createTime;
        this.shopRate = shopRate;
        this.shopMoney = shopMoney;
        this.postmanRate = postmanRate;
        this.postmanMoney = postmanMoney;
        this.platformRate = platformRate;
        this.platformMoney = platformMoney;
        this.shopAwardMoney = shopAwardMoney;
        this.platformAwardMoney = platformAwardMoney;
    }

//    public String getChargeId() {
//        return chargeId;
//    }
//
//    public OrderPayInfo setChargeId(String chargeId) {
//        this.chargeId = chargeId;
//        return this;
//    }
//
//    public Long getId() {
//        return id;
//    }
//
//    public void setId(Long id) {
//        this.id = id;
//    }
//
//    public String getOrderNo() {
//        return orderNo;
//    }
//
//    public void setOrderNo(String orderNo) {
//        this.orderNo = orderNo;
//    }
//
//    public Double getTotalPrice() {
//        return totalPrice;
//    }
//
//    public void setTotalPrice(Double totalPrice) {
//        this.totalPrice = totalPrice;
//    }
//
//    public String getBuyer() {
//        return buyer;
//    }
//
//    public void setBuyer(String buyer) {
//        this.buyer = buyer;
//    }
//
//    public String getSeller() {
//        return seller;
//    }
//
//    public void setSeller(String seller) {
//        this.seller = seller;
//    }
//
//    public String getPayType() {
//        return payType;
//    }
//
//    public void setPayType(String payType) {
//        this.payType = payType;
//    }
//
//    public int getIsPaid() {
//        return isPaid;
//    }
//
//    public void setIsPaid(int isPaid) {
//        this.isPaid = isPaid;
//    }
//
//    public String getCreateUser() {
//        return createUser;
//    }
//
//    public void setCreateUser(String createUser) {
//        this.createUser = createUser;
//    }
//
//    public int getDelFlag() {
//        return delFlag;
//    }
//
//    public void setDelFlag(int delFlag) {
//        this.delFlag = delFlag;
//    }
//
//    public Long getCreateTime() {
//        return createTime;
//    }
//
//    public void setCreateTime(Long createTime) {
//        this.createTime = createTime;
//    }
//
//    public String getUpdateUser() {
//        return updateUser;
//    }
//
//    public void setUpdateUser(String updateUser) {
//        this.updateUser = updateUser;
//    }
//
//    public Long getUpdateTime() {
//        return updateTime;
//    }
//
//    public void setUpdateTime(Long updateTime) {
//        this.updateTime = updateTime;
//    }
//
//    public Double getShopRate() {
//        return shopRate;
//    }
//
//    public void setShopRate(Double shopRate) {
//        this.shopRate = shopRate;
//    }
//
//    public Double getShopMoney() {
//        return shopMoney;
//    }
//
//    public void setShopMoney(Double shopMoney) {
//        this.shopMoney = shopMoney;
//    }
//
//    public Double getPostmanRate() {
//        return postmanRate;
//    }
//
//    public void setPostmanRate(Double postmanRate) {
//        this.postmanRate = postmanRate;
//    }
//
//    public Double getPostmanMoney() {
//        return postmanMoney;
//    }
//
//    public void setPostmanMoney(Double postmanMoney) {
//        this.postmanMoney = postmanMoney;
//    }
//
//    public Double getPlatformRate() {
//        return platformRate;
//    }
//
//    public void setPlatformRate(Double platformRate) {
//        this.platformRate = platformRate;
//    }
//
//    public Double getPlatformMoney() {
//        return platformMoney;
//    }
//
//    public void setPlatformMoney(Double platformMoney) {
//        this.platformMoney = platformMoney;
//    }
//
//    public Long getSellerId() {
//        return sellerId;
//    }
//
//    public void setSellerId(Long sellerId) {
//        this.sellerId = sellerId;
//    }
//
//    public String getPostman() {
//        return postman;
//    }
//
//    public void setPostman(String postman) {
//        this.postman = postman;
//    }
//
//    public Double getShopAwardMoney() {
//        return shopAwardMoney;
//    }
//
//    public void setShopAwardMoney(Double shopAwardMoney) {
//        this.shopAwardMoney = shopAwardMoney;
//    }
//
//    public Double getPlatformAwardMoney() {
//        return platformAwardMoney;
//    }
//
//    public void setPlatformAwardMoney(Double platformAwardMoney) {
//        this.platformAwardMoney = platformAwardMoney;
//    }
//
//    public String getBuyerAppId() {
//        return buyerAppId;
//    }
//
//    public void setBuyerAppId(String buyerAppId) {
//        this.buyerAppId = buyerAppId;
//    }
//
//    public String getBuyerLogonId() {
//        return buyerLogonId;
//    }
//
//    public void setBuyerLogonId(String buyerLogonId) {
//        this.buyerLogonId = buyerLogonId;
//    }
//
//    public int getIsOrderCancel() {
//        return isOrderCancel;
//    }
//
//    public void setIsOrderCancel(int isOrderCancel) {
//        this.isOrderCancel = isOrderCancel;
//    }
//
//
//    public String getExtra2() {
//        return extra2;
//    }
//
//    public void setExtra2(String extra2) {
//        this.extra2 = extra2;
//    }
//
//    public String getExtra3() {
//        return extra3;
//    }
//
//    public void setExtra3(String extra3) {
//        this.extra3 = extra3;
//    }
//
//    public Double getExchangeRate() {
//        return exchangeRate;
//    }
//
//    public void setExchangeRate(Double exchangeRate) {
//        this.exchangeRate = exchangeRate;
//    }
//
//    public Double getBusinessRate() {
//        return businessRate;
//    }
//
//    public void setBusinessRate(Double businessRate) {
//        this.businessRate = businessRate;
//    }
//
//    public Double getBusinessMoney() {
//        return businessMoney;
//    }
//
//    public void setBusinessMoney(Double businessMoney) {
//        this.businessMoney = businessMoney;
//    }
//
//    public Double getCityAdminRate() {
//        return cityAdminRate;
//    }
//
//    public void setCityAdminRate(Double cityAdminRate) {
//        this.cityAdminRate = cityAdminRate;
//    }
//
//    public Double getCityAdminMoney() {
//        return cityAdminMoney;
//    }
//
//    public void setCityAdminMoney(Double cityAdminMoney) {
//        this.cityAdminMoney = cityAdminMoney;
//    }
//
//    public String getBusiness() {
//        return business;
//    }
//
//    public void setBusiness(String business) {
//        this.business = business;
//    }
//
//    public String getCityAdmin() {
//        return cityAdmin;
//    }
//
//    public void setCityAdmin(String cityAdmin) {
//        this.cityAdmin = cityAdmin;
//    }
}
